#ifndef _VN_RECTANGLE_SHAPE_H_
#define _VN_RECTANGLE_SHAPE_H_

#include "Rect.h"
#include "Color.h"
#include "..\Math\Vector2.h"
#include "Scale.h"

namespace vn
{
	class RectangleShape
	{
	public:
		RectangleShape(void){}
		virtual ~RectangleShape(void){}

		virtual void setSize(const vn::Vector2&)		= 0;
		virtual void setFillColor(const vn::Color&)		= 0;
		virtual void setOutlineColor(const vn::Color&)	= 0;
		virtual void setOutlineThickness(float)			= 0;
		virtual void setPosition(float, float)			= 0;
		virtual void setPosition(const vn::Vector2&)	= 0;
		virtual void setRotation(float)					= 0;
		virtual void setScale(const vn::Scale&)			= 0;
		virtual void setScale(float, float)				= 0;
		virtual void setOrigin(float, float)			= 0;
		virtual void setOrigin(const vn::Vector2&)		= 0;
		virtual void setDoRender(bool p_value)			= 0;

		virtual const vn::Color& getFillColor()			= 0;
		virtual const vn::Color& getOutlineColor()		= 0;
		virtual float getOutlineThickness()				= 0;  
		virtual const vn::Vector2& getPosition()		= 0;
		virtual const vn::Scale& getScale()				= 0;
		virtual const vn::Vector2& getOrigin()			= 0;
		virtual const vn::Vector2& getSize()			= 0;

	protected:
	
	};
}

#endif // _VN_RECTANGLE_SHAPE_H_